#define _CRT_SECURE_NO_WARNINGS 1

//#include <iostream>
//using namespace std;
//#include <vector>
//
//bool isPass(vector<vector<int>>& arr, int x, int y)
//{
//	if (x >= 0 && x < arr.size()
//		&& y >= 0 && y < arr[0].size()
//		&& arr[x][y] == 2)
//		return true;
//	else
//		return false;
//}
//
//void DFS(vector<vector<int>>& arr, int x, int y)
//{
//	arr[x][y] = 0;
//	
//	if (isPass(arr, x - 1, y))
//		DFS(arr, x - 1, y);
//
//	if (isPass(arr, x + 1, y))
//		DFS(arr, x + 1, y);
//
//	if (isPass(arr, x, y - 1))
//		DFS(arr, x, y - 1);
//
//	if (isPass(arr, x, y + 1))
//		DFS(arr, x, y + 1);
//}
//
//int main()
//{
//	int N = 0;
//	cin >> N;
//
//	vector<vector<int>> arr(N + 2, vector<int>(N + 2, 2));
//	
//	for (int i = 1; i < arr.size() - 1; i++)
//	{
//		for (int j = 1; j < arr[0].size() - 1; j++)
//		{
//			int tmp = 0;
//			cin >> tmp;
//			arr[i][j] = tmp;
//			if (tmp == 0)
//				arr[i][j] = 2;
//		}
//	}
//
//	DFS(arr, 0, 0);
//
//	//for (auto e : arr)
//	//{
//	//	for (auto k : e)
//	//		cout << k << " ";
//	//	cout << endl;
//	//}
//
//	for (int i = 1; i < arr.size() - 1; i++)
//	{
//		for (int j = 1; j < arr[0].size() - 1; j++)
//		{
//			cout << arr[i][j] << " ";
//		}
//		cout << endl;
//	}
//	return 0;
//}